﻿namespace LiSA_Server.Base.AbstractServices
{
    using System.ServiceModel;

    using AbstractContracts;

    [ServiceContract(Name = "IService")]
    [ServiceKnownType("GetKnownDtoTypes", typeof(ServiceKnownTypes))]
    public interface IService
    {
        [OperationContract(Name = "ExecuteCommand")]
        [ServiceKnownType("GetKnownCommandTypes", typeof(ServiceKnownTypes))]
        void ExecuteCommand(Command command);

        [OperationContract(Name = "ExecuteQuery")]
        [ServiceKnownType("GetKnownQueryTypes", typeof(ServiceKnownTypes))]
        QueryResult ExecuteQuery(Query query);
    }
}
